home *** CD-ROM | disk | FTP | other *** search
/ Cre@te Online 2000 December / Cre@teOnline CD05.iso / MacSoft / XML ConsoleMax.sea / XML ConsoleMax / Required / esc.jar / com / extensibility / win32 / Win32CommDialogs.class (.txt) < prev    next >
Encoding:
Java Class File  |  2000-06-30  |  3.5 KB  |  135 lines

  1. package com.extensibility.win32;
  2.  
  3. import com.extensibility.app.Desktop;
  4. import com.extensibility.app.DialogFactory;
  5. import com.extensibility.app.UI;
  6. import java.awt.Component;
  7. import java.awt.Rectangle;
  8. import java.io.File;
  9.  
  10. public class Win32CommDialogs extends DialogFactory {
  11.    protected static boolean noLibrary = false;
  12.  
  13.    public static boolean libraryFound() {
  14.       return !noLibrary;
  15.    }
  16.  
  17.    public native String getOpenFileName(String var1, String var2, String var3, String var4, String[] var5);
  18.  
  19.    public native String getSaveFileName(String var1, String var2, String var3, String var4, String[] var5);
  20.  
  21.    public native void getWorkSpace(Rectangle var1);
  22.  
  23.    public native String getFolder(String var1, String var2, String var3);
  24.  
  25.    public File doAskFolder(Component var1, String var2, File var3) {
  26.       DialogFactory.createOpenDialog(Desktop.getDialogParent((Component)null));
  27.       String var4 = var3 != null ? var3.getAbsolutePath() : null;
  28.       String var5 = Desktop.getDialogParent(var1).getTitle();
  29.       String var6 = this.getFolder(var5, var2, var4);
  30.       File var7 = null;
  31.       if (var6 != null && var6.length() > 0) {
  32.          var7 = new File(var6);
  33.       }
  34.  
  35.       return var7;
  36.    }
  37.  
  38.    public File doAskFile(Component var1, String var2, String[] var3, String var4) {
  39.       DialogFactory.createOpenDialog(Desktop.getDialogParent((Component)null));
  40.       if (var2 == null) {
  41.          var2 = var3 != null && var3.length != 0 ? UI.getString("dialog.open.title", UI.getFileTypeName(var3[0])) : "";
  42.       }
  43.  
  44.       String[] var5 = convertAllowedTypes(var3, true);
  45.       String var6 = this.getOpenFileName(Desktop.getDialogParent(var1).getTitle(), var2, var4 == null ? DialogFactory.fileDirectory : var4, "", var5);
  46.       if (var6 != null && var6.length() != 0) {
  47.          DialogFactory.setFileDirectory((new File(var6)).getParent());
  48.          return new File(var6);
  49.       } else {
  50.          return null;
  51.       }
  52.    }
  53.  
  54.    public File doAskNewFile(Component var1, String[] var2, String var3, String var4) {
  55.       DialogFactory.createOpenDialog(Desktop.getDialogParent((Component)null));
  56.       if (var3 == null) {
  57.          var3 = var2 != null && var2.length != 0 ? UI.getString("dialog.open.title", UI.getFileTypeName(var2[0])) : "";
  58.       }
  59.  
  60.       String[] var5 = convertAllowedTypes(var2, false);
  61.       String var6 = this.getSaveFileName(Desktop.getDialogParent(var1).getTitle(), var3, var4 == null ? DialogFactory.fileDirectory : var4, "", var5);
  62.       if (var6 != null && var6.length() != 0) {
  63.          File var7 = new File(var6);
  64.          DialogFactory.setFileDirectory(var7.getParent());
  65.          if (var7.exists()) {
  66.             var7.delete();
  67.          }
  68.  
  69.          return var7;
  70.       } else {
  71.          return null;
  72.       }
  73.    }
  74.  
  75.    public File doAskNewFile(Component var1, String var2, String var3, String var4) {
  76.       DialogFactory.createOpenDialog(Desktop.getDialogParent((Component)null));
  77.       if (var3 == null) {
  78.          var3 = UI.getString("dialog.open.title", UI.getFileTypeName(var2));
  79.       }
  80.  
  81.       String var6 = UI.getString("dialog.file.type", UI.getFileTypeName(var2), var2);
  82.       String var7 = this.getSaveFileName(Desktop.getDialogParent(var1).getTitle(), var3, var4 == null ? DialogFactory.fileDirectory : var4, "", new String[]{var6, String.valueOf("*.").concat(String.valueOf(var2))});
  83.       if (var7 != null && var7.length() != 0) {
  84.          File var5 = new File(var7);
  85.          DialogFactory.setFileDirectory(var5.getParent());
  86.          if (var5.exists()) {
  87.             var5.delete();
  88.          }
  89.  
  90.          return var5;
  91.       } else {
  92.          return null;
  93.       }
  94.    }
  95.  
  96.    protected static String[] convertAllowedTypes(String[] var0, boolean var1) {
  97.       if (var0 == null) {
  98.          var0 = new String[0];
  99.       }
  100.  
  101.       int var2 = var0.length > 1 && var1 ? 2 : 0;
  102.       String[] var3 = new String[var0.length * 2 + 2 + var2];
  103.       StringBuffer var4 = new StringBuffer();
  104.       StringBuffer var5 = new StringBuffer();
  105.  
  106.       int var6;
  107.       for(var6 = 0; var6 < var0.length; ++var6) {
  108.          var3[var6 * 2 + var2] = UI.getString("dialog.file.type", UI.getFileTypeName(var0[var6]), var0[var6]);
  109.          var3[var6 * 2 + 1 + var2] = String.valueOf("*.").concat(String.valueOf(var0[var6]));
  110.          var4.append(String.valueOf(String.valueOf("*.").concat(String.valueOf(var0[var6]))).concat(String.valueOf(';')));
  111.          if (var6 < 2) {
  112.             var5.append(var0[var6]);
  113.          }
  114.       }
  115.  
  116.       var3[var6 * 2 + var2] = UI.getString("dialog.file.type", UI.getFileTypeName("*"), "*");
  117.       var3[var6 * 2 + 1 + var2] = "*.*";
  118.       if (var2 > 0) {
  119.          var3[0] = UI.getFileTypeName(var5.toString());
  120.          var3[1] = var4.toString().substring(0, var4.length() - 1);
  121.       }
  122.  
  123.       return var3;
  124.    }
  125.  
  126.    static {
  127.       try {
  128.          System.loadLibrary("Win32CommonDialogs");
  129.       } catch (Throwable var1) {
  130.          noLibrary = true;
  131.       }
  132.  
  133.    }
  134. }
  135.